gdkwindow-x11: Ungrab the implicit grab before showing the window menu
authorJasper St. Pierre <jstpierre@mecheye.net>
Thu, 22 May 2014 18:47:28 +0000 (14:47 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 22 May 2014 18:47:55 +0000 (14:47 -0400)
Otherwise, the WM cannot take a grab on the pointer device, since we'll
still have the implicit grab.

gdk/x11/gdkwindow-x11.c

index 6926351bf3f3273aeb9cf4a5916f9da9723d962d..543ea0fa84bd40e24394ee09d2486abb4015d4e9 100644 (file)
@@ -5725,9 +5725,12 @@ gdk_x11_window_show_window_menu (GdkWindow *window,
                                             gdk_atom_intern_static_string ("_GTK_SHOW_WINDOW_MENU")))
     return FALSE;
 
+  gdk_event_get_root_coords (event, &x_root, &y_root);
+
   device = gdk_event_get_device (event);
 
-  gdk_event_get_root_coords (event, &x_root, &y_root);
+  /* Ungrab the implicit grab */
+  gdk_device_ungrab (device);
 
   g_object_get (G_OBJECT (device),
                 "device-id", &device_id,